package leetcode_day._2021._202104._1120;

/**
 * @author yzh
 * @version 1.0
 * @date 2021/4/18 10:27
 * 删除有序数组中的重复项
 * 使用双指针
 * 因为可以保留一个重复的元素，
 * 所以两个指针同时指向第二个元素
 * low fast , 使用 for 循环后，i 就相当于 fast
 * nums[low - 1] != nums[fast] 交换
 */
public class _18_26 {

    public int removeDuplicates(int[] nums) {
        if (nums.length <= 1) return nums.length;
        int s = 1;
        for (int i = 1; i < nums.length; i++) {
            if (nums[s - 1] != nums[i]) {
                int tem = nums[s];
                nums[s] = nums[i];
                nums[i] = tem;
                ++s;
            }
        }
        return s;
    }
}
